import 'package:flutter/material.dart';

class NavigationState {
  final int currentIndex;
  final PageController? pageController;
  final List<Map<String, dynamic>> tabs;
  NavigationState({
    this.currentIndex = 0,
    this.pageController,
    this.tabs = const [],
  });

  factory NavigationState.initial() {
    return NavigationState(
      currentIndex: 0,
      pageController: PageController(),
      tabs: [],
    );
  }

  NavigationState clone() {
    return NavigationState();
  }

  NavigationState copyWith({
    int? currentIndex,
    PageController? pageController,
    List<Map<String, dynamic>>? tabs,
  }) {
    return NavigationState(
      currentIndex: currentIndex ?? this.currentIndex,
      pageController: pageController ?? this.pageController,
      tabs: tabs ?? this.tabs,
    );
  }
}
